通告 | 以太坊 Mist 浏览器的未来:分层节点及其它
Mist 团队现在骄傲地宣布,大家期盼已久的“分层节点(Layered Node)”发布!该更新包含了 Mist 以及 Ethereum Wallet 的一些激动人心的新功能。本文会集中介绍这些更新,并分析 Mist 接下来的方向。
更新摘要
分层节点:即时连接到 Mist/Ethereum Wallet。在本地节点同步时使用一个远程节点(Remote Node)。
Mist 以及 Ethereum Wallet 升级到了 web3.js 1.0.0。
Mist 现在可以在本地为钱包服务了。
Ethereum Wallet 引入了自动扫描代币的功能。
引擎内部的优化,包括从 Meteor 到 React/Redux 技术栈的部分迁移。
UI 完全更新。
-分层节点 UI:同时呈现远程和本地节点的连接状态-
我们曾经是什么情况
Mist 是由以太坊基金会(Ethereum Foundation)赞助的,并且已经运行了好几年。Mist 是入门基础设施中重要的一部分,帮助用户将以太坊网络可视化并与之互动。然而,最近我发现,我聊过的许多开发者和用户都“有一段时间”不再使用 Mist 了。
关于使用 Mist,他们的最后印象就是:在应用可用之前,要花一段长到让人痛苦的时间来同步一个节点。当然,这是 Mist 内部的设计策略。如果你想连接到网络,你可以用你自己的节点。这样做会相对更简单,花的时间也更少。最近同步整个区块链变成了一项义务,这要归功于以太坊不断上涨的人气。
但其中的权衡值得你去理解。当你运行你自己的本地节点(比如:Geth,Parity,等等)时,软件便是你通往以太坊网络的门径。而在 Mist 中,后台先启动Geth 实例,等到你的 Geth 节点同步完成后,才启动应用。
使用类似于 MetaMask(默认设置)的工具的好处在于,你可以即时连接到网络。代价就是:你是在连接一个远程节点。使用一个远程节点会引起一些新的安全问题:MITM 攻击以及单点错误的可能性。如果远程节点提供商当机或是被攻破,可就有你好受的了。
我访谈的许多用户都会倾向于运行自己的节点,但也认为这样做是不切实际的,然后安于中心化的基础设施(即远程节点)。
我们现在是什么情况
在过去几个月中, 我们的核心关注点便是架构上的彻底检查,让用户可以即时连接到网络。我们希望发现最好的方案,来解决上面提到的权衡问题:你也许会即时连接到一个远程节点,但只要同步完成也会切换到使用本地节点。一旦你的本地节点追不上最新区块了,远程节点就会重新承担起责任。我们将这一架构称为“分层节点”。
自我们开始这项工作也来,Geth 团队已经为他们的客户端发布了一些大规模的更新。所有同步模式现在都变得更快而且更节约资源了,但轻节点同步更是令人惊讶地快。在大多数情况下,我们希望 Mist 用户只需要依赖远程节点几分钟。
很棒!最让人纠结的可用性问题已经解决了。那么下一步呢?
未来会如何?
来做一个思维实验:拉长时间线,考虑以太坊生态系统在未来几年的情况。对 Mist 来说,最好的情况是在三年内体面地退休吗?
来来来,灯光音乐都暂停一下,咱们回退一步:
我们的目标是以太坊的成功,而不一定是 Mist 的成功。
Mist 是一个工具,让用户可以与 dApp 互动。它将钱包与网页联系起来。如果/只要以太坊扩展得足够好,以至于会被主流大众所接受,主要的网页浏览器就会有很强的激励去整合同样的技术,帮助他们争取用户。
简单来说,如果主流的浏览器复制 Mist 的功能的话,以太坊社区会变得更好。理由有如下两个:
开发一个浏览器是危险的,需要大量的人力和安全专家。Mist 是在 Electron 上开发的,而 Electron 使用了 Chromium 的内核。Chromium 从谷歌的安全专家中获益良多,但 Electron 升级到新版本的 Chromium 与 Mist 升级到最新版的 Electron 之间总会有个时间差。
主流的浏览器已经经历了大量的审计。与其要求下载一个新程序,还不如对接现有的用户。
所以,如果我们接受这个潜在的结果,积极为之努力,Mist 团队最应该把力气花在哪儿呢?我们可以回顾一下,把一些散点联系起来。在短期到中期,Mist 期望能够:
为 web3 引入更多用户
Mist 和 Ethereum Wallet 的所有版本已经有超过四百万的下载量,而且 Ethereum Wallet 已经可以从 ehtereum.org 的主页下载。我们会通过分发一个稳定的应用、为用户提供新世界的可靠介绍,来为整个生态系统摇旗呐喊。
本次发行之后,用户教育会提到我们的优先事项列表上来。随着更多非技术宅用户发现以太坊,弄清以太坊的技术基础以及 Mist 的角色、功能、用法的需求也会日益强烈。在教育和培训中投入更多精力是我们现在开始在行业中看到的一股鼓舞人心的趋势。一个值得关注的项目是 Play,这是一个正在开发中的,为初学者量身定做的 Remix。
主流的浏览器可能不会接受 web3 技术,除非它们周遭的环境已经改变。对用户教育的关注会推动我们尝试用多种方式介绍和解释这些概念,并基于用户的反馈进行迭代。
支持网络
一个健康及安全的网络需要有很多节点。使用 Mist 对整个网络都有好处,只要你是跑的自己的节点。我们最近已经将默认的同步模式升级为轻节点,因为这样能提供最好的用户体验,但我们也将需要更多的全节点来服务这些轻节点。
明智的策略是开发能鼓励用户为健康网络作贡献的 UI。这也许会包括鼓励用户为轻节点服务,如果他们有计算资源的话。这是一个可以释放创造性的地方,正如围绕运行全节点的激励措施讨论所揭示的那样。
支持开发者
应该跟开发者分享我们在开发过程中学到的经验,包括我们编写的架构模式以及我们发布的 npm 包。让为网络作贡献或复制我们的网络变得越容易,这项技术就越快能的包普及和迭代——无论是由浏览器供应商还是由其它社区项目推动。
再说一遍:我们的目标是以太坊的成功,不一定非要 Mist 成功。
实验
这一点与上述多点有重叠部分,但更深入一点:EIP 流程为以太坊有规律地引入了诸多有意思的理念。有时候,Mist 或 Ethereum Wallet 会是把这些新想法开发成原型的合适人选。我非常希望看到,Mist 可以被公认是尝试这些最新最棒功能的地方。
应用安全性就是这样一个值得研究的领域。我们看到提升 Electron 完全模型的潜力;开发者的大量时间花费在开发可以减少 dApp 浏览器受攻击面的框架原型上。敬请期待我们的项目在接下来几次发布中的更新。
更遥远的未来
也就是说,Mist 要干别的去了吗?不是这个意思。我想说的只是:在推动以太坊前行上,Mist 是有意义的。
Mist 没有与 Chrome 或是火狐竞争。我们的团队真正感到兴奋的机会是创造一种纯粹的 web3 浏览器。与其为 http/https 服务,未来的迭代也许将内容限制在 IPFS 或是蜂群协议上的内容上。虽然主流浏览器也可以访问这些内容,出于实际的和理念的理由(隐私、安全万岁),纯粹的 web3 是更有吸引力的。详细阐述这一愿景是一个很好的博客主题。
归根到底
我们相信,在一个急剧变化的世界里,确认自己的工作有意义的最好方式就是专注于你的用户。如果你可以让他们的用户体验更直观更好用,你就是走在对的路上。
注意,这意味着你得知道你的用户是谁,他们要什么。我们的用户,已经从大部分都是开发者变成了更多不懂技术的用户。因此,我们的关注点也转变到更严肃地考虑用户教育、表达方式、功能定位以及其它主题上。
总有更多的工作要做。除了以前挖的坑,用户会让你知道他们不喜欢什么功能、每一个开发者都会有他们自己想要抽时间来做的项目列表。而我们团队确定优先事项的框架是:找到最重要的事情并从那儿开始工作。
我们会倾听用户的声音——你的机会就在眼前。试试我们的新版本,让我们知道你的想法。我们不会一开始就把事情做得很完美,如果你发现了 bug,请提交 issue。下一版更新中你最想加入的功能是什么?Mist 团队应该优先做什么事?你心中的“宏伟蓝图”,与我们上述的不一样吗?来跟我们联系吧。
原文链接: https://medium.com/@omgwtfmarc/the-future-of-ethereums-mist-browser-layered-nodes-and-beyond-54dd1e70d375
作者: Marc Garreau
翻译: 阿剑
你可能还会喜欢:
6种以太坊钱包的基本介绍
干货 | 运行以太坊全节点的一项经济激励措施
引介 | 以太坊区块链的轻客户端入门